package com.facade.documento;

import java.util.List;

import com.comun.filtro.FiltroLista;
import com.modelo.entity.Documento;

public interface IGestionDocumento {
	void actualizar(Documento documento);

	void crear(Documento documento);

	void delete(List<Documento> docsEliminar);

	/**
	 * Devuelve una lista de tipo T con los ids que le pasamos en listaIds.
	 * 
	 * @param type
	 * @param listaIds
	 * @return List<T>
	 */
	List<Documento> findByListId(List<Integer> listaIds);

	List<Documento> getDocumentosActivos(FiltroLista filtro);

	/**
	 * Devuelve una lista de documentos activos a excepcion de los pasados por
	 * paramentro.
	 * 
	 * @param listaDoc
	 * @return List<Documento>
	 */
	List<Documento> getDocumentosActivosAExcepcion(List<Documento> listaDoc);

	int getTotal();
}
